#ifndef __HASH_TABLE_H__
#define __HASH_TABLE_H__

typedef struct entry_s {
    char *key;
    bool val;
    struct entry_s *next;
} entry_t;

entry_t **hashtable_create(int size);


bool hashtable_insert(entry_t **table, 
                      size_t table_size, 
                      char *key, 
                      bool val);

bool hashtable_getvalue(entry_t **table, 
                        size_t table_size,
                        char *key, 
                        bool &val);

bool hashtable_remove(entry_t **table, size_t table_size, char *key);

bool hashtable_destroy(entry_t **table, size_t table_size);

#endif

